1. Field of the Invention
The present invention relates to video compression/decompression processing and processors, and more specifically to a programmable architecture and related methods for video signal processing using the discrete cosine transform and motion estimation.
2. Description of Related Art
Applications such as video telephone, digital television, and interactive multimedia using such digital storage technology as CD-ROM, digital audio tape, and magnetic disk require digital video coding, or video compression, to achieve the necessary high data transfer rates over relatively low bandwidth channels. Various standards have been proposed for video coding. A standard for the storage and transmission of still images has been adopted by the International Standards Organization (“ISO”), Joint Photographic Expert Group (“JPEC”); see “JPEC Technical Specification, Revision 5,” JPEG-8-R5, January 1980. A standard for digital television broadcast coding at 30/45 Mb/s is under consideration; see CCIR-CMTT/2, “Digital Transmission of Component-Coded Television Signals at 30–34 Mb/s and 45 Mb/s Using the Discrete Cosine Transform,” Document CMTT/2-55. A standard for video telephony and video conferencing at 64 to 1920 kb/s has been adopted by the International Consultative Committee for Telephone and Telegraph (“CCITT”); see “Draft Revision of Recommendation H.261,” Document 572, CCITT SG XV, Working Party XV/1, Spec. Grp. on Coding for Visual Telephony. A standard for storage applications below 1.5 Mb/s, which are similar to the applications targeted by the CCITT standard, is under consideration by the Moving Picture Experts Group (“MPEG”) of the ISO. Video coding algorithms have been proposed as contributions to the standardization activity of ISO/MPEG; see Wong et al, “MCPIC: A Video Coding Algorithm for Transmission and Storage Applications,” IEEE Communications Magazine, November 1990, pp. 24–32.
The Motion-Compensated Predictive/Interpolative Coding (“MCPIC”) proposed by Wong et al. is reasonably compatible with the CCITT standard, as the basic algorithm is a predictive transform coding loop with motion compensation. MCPIC provides greater flexibility, however. The basic algorithm is used to code every second frame of the source video, while the intervening frames are coded with motion-compensated interpolation and additional discrete cosine transform coding of the interpolation error. Accuracy in motion estimation is ½ pixel. Other capabilities of the MCPIC algorithm include frequent periodic reset of the temporal predictor, an optional provision of adaptive Huffman code tables for digital storage media-based applications, and an optimal quantization matrix according to the JPEG standard.
In summary, continuous-tone still image applications are addressed by the JPEG standard, teleconferencing is addressed by the P×64 standard, and full-motion video is addressed by the MPEG standard. An application such as interactive multimedia running on a personal computer or workstation may well require implementations of some or all of these compression techniques, as well as other techniques for voice mail and annotation and for lossless data compression of arbitrary binary files to be stored to disk or communicated to other computers. Moreover, new compression algorithms and modifications of current compression algorithms will be developed. Different compression algorithms have different resolution, bandwidth, and frame rate requirements, which are best accommodated by a programmable vision processor rather than a multitude of separate, dedicated vision processors for each function.
While building block implementations of vision processors have met with some success, a need has arisen for a programmable, high performance, and low cost digital signal processing architecture suitable for stand alone use in image and video discrete cosine transform (“DCT”)-based compression and/or decompression systems. Programmability is desirable because of the wish to accommodate a variety of different existing algorithms, custom versions of existing algorithms, and future algorithms. High performance and low cost are desirable because of the price-performance demands of the highly competitive marketplace in which digital signal processing devices are sold.